package com.yonyou.cyxdms.sysAuth.service.dto.gathering;

import com.yonyou.cyx.function.utils.bean.BeanMapperUtil;
import com.yonyou.cyxdms.framework.bean.dto.base.DMSBaseDTO;
import com.yonyou.cyx.framework.bean.entity.base.BasePO;

import java.io.Serializable;
import java.time.LocalDateTime;

import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeDeserializer;
import com.yonyou.cyx.function.utils.jsonserializer.localdatetime.JsonLocalDateTimeSerializer;


/**
 * <p>
 *
 * </p>
 *
 * @author adu
 * @since 2019-11-04
 */

public class GatheringTypeDTO extends DMSBaseDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private Long gatheringId;
    private Long companyId;
    /**
     * 登录公司
     */
    private String ownerCode;
    /**
     * 编号
     */
    private String gatheringCode;
    /**
     * 名称
     */
    private String gatheringName;
    /**
     * 1045
     */
    private Integer dataSource;
    /**
     * 1046
     */
    private Integer dataType;
    /**
     * 收款是否自动核销
     */
    private Integer writeoffTag;
    /**
     * 是否有效
     */
    private Integer validStatus;
    /**
     * 是否收款
     */
    private Integer isReceive;
    /**
     * 是否付款
     */
    private Integer isPay;
    /**
     * 逻辑删除标志：是否删除
     */
    private Boolean isDeleted;

    public GatheringTypeDTO() {
        super();
    }


    public Long getGatheringId() {
        return gatheringId;
    }


    public void setGatheringId(Long gatheringId) {
        this.gatheringId = gatheringId;
    }


    public Long getCompanyId() {
        return companyId;
    }


    public void setCompanyId(Long companyId) {
        this.companyId = companyId;
    }


    public String getOwnerCode() {
        return ownerCode;
    }


    public void setOwnerCode(String ownerCode) {
        this.ownerCode = ownerCode;
    }


    public String getGatheringCode() {
        return gatheringCode;
    }


    public void setGatheringCode(String gatheringCode) {
        this.gatheringCode = gatheringCode;
    }


    public String getGatheringName() {
        return gatheringName;
    }


    public void setGatheringName(String gatheringName) {
        this.gatheringName = gatheringName;
    }


    public Integer getDataSource() {
        return dataSource;
    }


    public void setDataSource(Integer dataSource) {
        this.dataSource = dataSource;
    }


    public Integer getDataType() {
        return dataType;
    }


    public void setDataType(Integer dataType) {
        this.dataType = dataType;
    }


    public Integer getWriteoffTag() {
        return writeoffTag;
    }


    public void setWriteoffTag(Integer writeoffTag) {
        this.writeoffTag = writeoffTag;
    }


    public Integer getValidStatus() {
        return validStatus;
    }


    public void setValidStatus(Integer validStatus) {
        this.validStatus = validStatus;
    }


    public Integer getIsReceive() {
        return isReceive;
    }


    public void setIsReceive(Integer isReceive) {
        this.isReceive = isReceive;
    }


    public Integer getIsPay() {
        return isPay;
    }


    public void setIsPay(Integer isPay) {
        this.isPay = isPay;
    }


    public Boolean getDeleted() {
        return isDeleted;
    }


    public void setDeleted(Boolean isDeleted) {
        this.isDeleted = isDeleted;
    }


    @Override
    public String toString() {
        return "GatheringTypeDTO{" +
                "gatheringId=" + gatheringId +
                ", companyId=" + companyId +
                ", ownerCode=" + ownerCode +
                ", gatheringCode=" + gatheringCode +
                ", gatheringName=" + gatheringName +
                ", dataSource=" + dataSource +
                ", dataType=" + dataType +
                ", writeoffTag=" + writeoffTag +
                ", validStatus=" + validStatus +
                ", isReceive=" + isReceive +
                ", isPay=" + isPay +
                ", isDeleted=" + isDeleted +
                "}";
    }

    /**
     * 将DTO 转换为PO
     * //对某个对象属性进行赋值
     * //BeanMapperUtil.populateValueByMethod(transPO,"setXxx",this.getXxx);
     *
     * @param poClass dto 需要转换的dto
     * @author adu
     * @since 2018/7/22 0022
     */
    @Override
    public <T extends BasePO> T transDtoToPo(Class<T> poClass) {
        return super.transDtoToPo(poClass);
    }

    /**
     * 将DTO 转换为PO
     * BeanMapperUtil.populateValueByMethod(transPO,"setXxx",this.getXxx);
     *
     * @param po 需要转换的对象
     * @author adu
     * @since 2018/7/22 0022
     */
    public <T extends BasePO> void transDtoToPo(T po) {
        BeanMapperUtil.copyProperties(this, po, "gatheringId");
    }

}
